/*
 * Copyright 2024 Harness, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import produce from 'immer'
import { omit, uniqueId } from 'lodash-es'
import type { RepositoryRequest } from '@ar/pages/repository-details/types'

export function getFormattedFormDataForCleanupPolicy(values: RepositoryRequest): RepositoryRequest {
  return produce(values, draft => {
    if (Array.isArray(draft.cleanupPolicy)) {
      draft.cleanupPolicy = draft.cleanupPolicy.map(each => omit(each, ['id']))
    }
  })
}

export function getFormattedIntialValuesForCleanupPolicy(values: RepositoryRequest): RepositoryRequest {
  return produce(values, draft => {
    if (Array.isArray(draft.cleanupPolicy)) {
      draft.cleanupPolicy = draft.cleanupPolicy.map(each => ({
        ...each,
        id: uniqueId('cleanupPolicy')
      }))
    }
  })
}
